Skip to main content

Installing and running RTME as a Docker container

Docker is a tool that can package an application and its dependencies in a virtual container to run on different host operating systems.

Get RTME from GitHub Container Registry

To pull the latest version of RTME, use the following command:

$ docker pull ghcr.io/dolbyio/real-time-media-extensions:latest

You can also pull a specific version, for example, v0.1.1. The full list of versions is available on GitHub Container Registry.

$ docker pull ghcr.io/dolbyio/real-time-media-extensions:1.0.0

Run the container

To run the container, use the following command:

docker run -p 8080:8080 -e {optional environment variables} dolbyio/rtme

Depending on the application, you may need to supply certain environment variables to the docker run command.

The Docker container does not automatically start the RTME service, but it exposes the following REST API endpoints on port 8080 for controlling its tasks. These endpoints map to generic Kubernetes liveness, readiness, and startup probes, making your application easier to manage within a Kubernetes environment.

EndpointMeaning
/healthKubernetes uses liveness probes to know when to restart a container. For example, liveness probes could catch a deadlock while an application is running, but are unable to make progress. Restarting a container in such a state can help to make the application more available despite bugs.
/readyKubernetes uses readiness probes to know when a container is ready to start accepting traffic. A Pod is considered ready when all of its containers are ready. One use of this signal is to control which Pods are used as backends for services. When a Pod is not ready, it is removed from service load balancers.
/terminateTerminates the RTME docker runtime.
/startSends a command with query parameters to the RTME docker runtime to start the application. See the Configuration section for more information.
/stopStops the current RTME application.

CA Certificates

The docker image uses the standard CA certificates that come with the base Ubuntu 20.04 image. If you need different certificates you can update the certificates in the image as follows:

  • Add the following to the Dockerfile and rebuild the image
ADD YOUR-CA-CERTIFICATES.crt /usr/local/share/ca-certificates/additional-ca.crt
RUN chmod 644 /usr/local/share/ca-certificates/additional-ca.crt && update-ca-certificates
  • Run the docker image providing the newly updated certificates (these certificates will be used for this run)
docker run -p 8080:8080 -v update-ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt -d dolbyio/rtme